package com.csap.framework.oauth2.request;

import com.csap.framework.annotation.apidoc.ApiModel;
import com.csap.framework.annotation.apidoc.ApiModelProperty;
import com.csap.framework.oauth2.BaseRequest;
import com.csap.framework.oauth2.UserAttribute;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.List;
import java.util.Set;

/**
 * 修改的信息
 *
 * @author yangchengfu
 * @dataTime 2021年-07月-30日 23:00:00
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Accessors(chain = true)
@ApiModel("修改信息")
public class UpdateRequest extends BaseRequest<UpdateRequest> {
    @ApiModelProperty(value = "openId", forceReq = true, required = true)
    private String openId;
    @ApiModelProperty(value = "userId", forceReq = true, required = true)
    private String userId;
    @ApiModelProperty(description = "用户名", value = "用户名", forceReq = true)
    private String userName;
    @ApiModelProperty(description = "是否可用", value = "是否可用", forceReq = true)
    private Integer enabled;
    @ApiModelProperty(description = "邮箱", value = "邮箱", forceReq = true)
    private String email;
    @ApiModelProperty(description = "昵称", value = "昵称", forceReq = true)
    private String nickName;
    @ApiModelProperty(description = "头像", value = "头像", forceReq = true)
    private String avatar;
    @ApiModelProperty(description = "手机号码", value = "手机号码", forceReq = true)
    private String mobile;
    @ApiModelProperty(description = "性别", value = "性别", forceReq = true)
    private Integer sex;
    @ApiModelProperty(description = "年龄", value = "年龄", forceReq = true)
    private Integer age;
    @ApiModelProperty(description = "密码", value = "密码", forceReq = true)
    private String password;
    @ApiModelProperty(description = "用户属性", value = "用户属性", forceReq = true)
    private List<UserAttribute> userAttribute;
    @ApiModelProperty(description = "角色ID", value = "角色ID", forceRep = true)
    private Set<Long> roleList;
    @ApiModelProperty("角色类型")
    private Integer roleType;
    @ApiModelProperty("角色类型ID")
    private String roleTypeId;
}
